1300
Is it possible to cancel or discard the values during validation
// ValidateValue event - Occurs before user changes the cell's value.
FUNCTION g2anttEvents_ValidateValue(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue, INT Cancel)
	Message( "ValidateValue" );
	Message( NewValue );
	Message( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	Message( "The DiscardValidateValue restores back the previously values." );
	_ObjectCallMethod( g2antt , "DiscardValidateValue");
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "CauseValidateValue", -1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "Editor") , "EditType", 7);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Text") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
_ObjectCallMethod( g2antt , "EndUpdate");

1299
Is it possible to validate the values of the cells only when user leaves the focused item
// ValidateValue event - Occurs before user changes the cell's value.
FUNCTION g2anttEvents_ValidateValue(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue, INT Cancel)
	Message( "ValidateValue" );
	Message( NewValue );
	Message( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	Cancel = -1;
	Message( "You can not leave the item/record until the Cancel is False." );
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "CauseValidateValue", 1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "Editor") , "EditType", 7);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Text") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
_ObjectCallMethod( g2antt , "EndUpdate");

1298
We would like to validate the values of the cells. Is it possible
// ValidateValue event - Occurs before user changes the cell's value.
FUNCTION g2anttEvents_ValidateValue(OBJECT g2antt, INT Item, INT ColIndex, VARIANT NewValue, INT Cancel)
	Message( "ValidateValue" );
	Message( NewValue );
	Message( "Change the Cancel parameter for ValidateValue event to accept/decline the newly value." );
	Cancel = -1;
	Message( "You can not leave the cell until the Cancel is False." );
END

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "CauseValidateValue", -1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "Editor") , "EditType", 7);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Text") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(AddItem(#1/1/2001#),1) = `text`");
_ObjectCallMethod( g2antt , "EndUpdate");

1297
Is there any way to add auto-numbering
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Items");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 pos ''");
		_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");

1296
How can I format my column to display the percent values “5,00%”
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Percent") , "FormatColumn", "((dbl(value) * 100) format '2|,|3.')+'%'");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 0.5);
	_ObjectCallMethod( items , "AddItem", 0.4);
	_ObjectCallMethod( items , "AddItem", 0.75);

1295
I can't control bar's transparency if the bar is overlaid. What can be done

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bar)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Overlaid(256) = 0");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A1`,19) = 80");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/3/2001","1/5/2001","A2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2001","1/7/2001","A3");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A3`,19) = 50");

1294
How can I show the child items with no identation

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 5);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectSetProperty( g2antt , "HasLines", 2);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");

1293
Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 1);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1292
Is there other ways of showing the hierarchy lines (exGroupLinesOutside)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 5);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");

1291
Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 4);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1290
Is there other ways of showing the hierarchy lines (exGroupLinesInside)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 3);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1289
Is there other ways of showing the hierarchy lines (exGroupLines)

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "LinesAtRoot", 2);
_ObjectSetProperty( g2antt , "Indent", 12);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2"),"","SubChild 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1288
How can I specify non-working dates for any year, as a repetitive expression for instance

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/24/2010");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod( chart , "AddNonworkingDate", "shortdateF(value) left 5 in ('01/01','01/06','04/25','05/01','06/02','08/15','11/01','12/08','12/25','12/26')");

1287
Is it possible to specify the Easter and a day after as being non-working
OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/14/2011");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod( chart , "AddNonworkingDate", "not(month(value) in (3,4,5)) ? 0 : ( floor(value)=(2:=floor(date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) " +
	"mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) " +
	"mod 7)))) or (floor(value)= =:2 + 1))");

1286
Here's a simple sample to compute the Easter day
OBJECT editor,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Year") , "Editor");
	_ObjectSetProperty( editor , "EditType", 4);
	_ObjectSetProperty( editor , "Numeric", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Easter") , "ComputedField", "date(dateS('3/1/' + int(%0)) + ((1:=(((255 - 11 * (int(%0) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((int(%0) +" +
	" int(int(%0) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", 2008);
	_ObjectCallMethod( items , "AddItem", 2009);
	_ObjectCallMethod( items , "AddItem", 2010);
	_ObjectCallMethod( items , "AddItem", 2011);
_ObjectCallMethod( g2antt , "EndUpdate");

1285
How do I specify the Easter or holydays as non-working
OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AdjustLevelsToBase", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "4/14/2011");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	_ObjectCallMethod( chart , "AddNonworkingDate", "month(value) = 7");
	_ObjectCallMethod( chart , "AddNonworkingDate", "not(month(value) in (3,4)) ? 0 : ( floor(value)=floor(date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) mod 19" +
	")) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7)" +
	")))");

1284
Is it possible to add a repetitive expression to define non-working dates
OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod( chart , "AddNonworkingDate", "1/13/2010");
	_ObjectCallMethod( chart , "AddNonworkingDate", "month(value) = 1 and (day(value) in (1,6))");

1283
How do I get the Easter date
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Easter") , "FormatColumn", "date(dateS('3/1/' + year(value))  + ((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((" +
	"year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "1/1/1989");
	_ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod( items , "AddItem", "1/1/2002");
	_ObjectCallMethod( items , "AddItem", "1/1/2003");
	_ObjectCallMethod( items , "AddItem", "1/1/2010");

1282
How can I calculate the number of visible units
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
FUNCTION g2anttEvents_Click()
	OBJECT chart;
	chart = _ObjectGetProperty( g2antt , "Chart");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
		_ObjectCallMethod(g2antt, "TemplatePut", chart)
		Message( "UnitCount:" );
		Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.CountVisibleUnits(DateFromPoint(0,-1),DateFromPoint(1,-1))") );
END

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectSetProperty( chart , "LevelCount", 2);

1281
Is it possible to specify the nonworking up to minutes and I can see when using the inside zoom feature

OBJECT chart,g2antt,insidezoomformat,items,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", -1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "LevelCount", 3);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "UnitWidth", 16);
	_ObjectSetProperty( chart , "DrawLevelSeparator", 0);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(2)");
		_ObjectSetProperty( level , "Unit", 1048576);
		_ObjectSetProperty( level , "Count", 60);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	insidezoomformat = _ObjectGetProperty( chart , "DefaultInsideZoomFormat");
		_ObjectSetProperty( insidezoomformat , "InsideUnit", 1048576);
		_ObjectSetProperty( insidezoomformat , "InsideCount", 15);
		_ObjectSetProperty( insidezoomformat , "InsideLabel", "<%nn%>");
		_ObjectSetProperty( insidezoomformat , "OwnerLabel", "Hour: <b><%h%>");
		_ObjectSetProperty( insidezoomformat , "DrawGridLines", -1);
	_ObjectCallMethod( _ObjectGetProperty( chart , "InsideZooms") , "Add", "1/1/2010 12:00:00 PM");
	_ObjectCallMethod( _ObjectGetProperty( chart , "InsideZooms") , "Add", "1/1/2010 1:00:00 PM");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010 9:00:00 AM");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Non-Working`).Def(16) = False");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"12:30:00^" and timeF(value) <=^"14:00:00^" ));5:( timeF(value)>=^"12:30:00^" and timeF(value) <=^"13:30:00^" );6:1;0:1) `");
	h = _ObjectCallMethod( items , "AddItem", "10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"10:45:00^" and timeF(value) <=^"13:45:00^" ));5:( timeF(value)>=^"10:45:00^" and timeF(value) <=^"14:30:00^" );6:1;0:1) `");
	h = _ObjectCallMethod( items , "AddItem", "2:30 to 9:30 on Friday, Saturday and Sunday");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"02:30:00^" and timeF(value) <=^"09:30:00^" ));1:0;2:0;3:0;4:0) `");
_ObjectCallMethod( g2antt , "EndUpdate");

1280
Is it possible to show the non-working units up to minutes

OBJECT chart,g2antt,items,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 128");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 65536);
	_ObjectSetProperty( chart , "UnitWidth", 16);
	_ObjectSetProperty( chart , "DrawLevelSeparator", 0);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Unit", 1048576);
		_ObjectSetProperty( level , "Count", 60);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "ResizeUnitScale", 1048576);
	_ObjectSetProperty( chart , "ResizeUnitCount", 15);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Non-Working`).Def(16) = False");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"12:30:00^" and timeF(value) <=^"14:00:00^" ));5:( timeF(value)>=^"12:30:00^" and timeF(value) <=^"13:30:00^" );6:1;0:1) `");
	h = _ObjectCallMethod( items , "AddItem", "10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"10:45:00^" and timeF(value) <=^"13:45:00^" ));5:( timeF(value)>=^"10:45:00^" and timeF(value) <=^"14:30:00^" );6:1;0:1) `");
	h = _ObjectCallMethod( items , "AddItem", "2:30 to 9:30 on Friday, Saturday and Sunday");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemNonworkingUnits(h,False) = `weekday(value) case (default:((timeF(value)>=^"02:30:00^" and timeF(value) <=^"09:30:00^" ));1:0;2:0;3:0;4:0) `");
_ObjectCallMethod( g2antt , "EndUpdate");

1279
Is it possible to define several type of progress bars

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Start") , "Visible", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "End") , "Visible", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
	bar = _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Copy", "Progress","ProgressT");
		_ObjectSetProperty( bar , "Color", 255);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Height", 7);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%ProgressT:Split") , "Shortcut", "Task");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "Shape", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Summary%Progress") , "Shortcut", "Summary");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 16");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = #10/3/2006#");
	_ObjectCallMethod( items , "AddBar", h,"Summary",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2)"),"sum");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`sum`,12) = 0.4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`sum`,14) = True");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = CellValue(h,1)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = #9/27/2006#");
	_ObjectCallMethod( items , "AddBar", h1,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2)"),"K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,12) = 0.6");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,14) = True");
	h2 = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1) = CellValue(h1,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2) = #9/28/2006#");
	_ObjectCallMethod( items , "AddBar", h2,"Unknown",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2)"),"K2");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	h3 = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,1) = CellValue(h2,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,2) = CellValue(h,2)");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h3")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h3)
	_ObjectCallMethod( items , "AddBar", h3,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h3,2)"),"K3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`K3`,12) = 0.65");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`K3`,14) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h3,`K3`,39) = 32768");
	_ObjectCallMethod( items , "AddLink", "L2",h2,"K2",h3,"K3");
	_ObjectCallMethod( items , "GroupBars", h1,"K1",0,h2,"K2",-1,31,"0;4");
	_ObjectCallMethod( items , "GroupBars", h2,"K2",0,h3,"K3",-1,31,"0;2");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h1,"K1");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h2,"K2");
	_ObjectCallMethod( items , "DefineSummaryBars", h,"sum",h3,"K3");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBold(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1278
Is it possible to display the percent bar over the summary bar

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( bar , "Shape", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Summary%Progress") , "Shortcut", "SummaryP");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Summary");
	_ObjectCallMethod( items , "AddBar", h,"SummaryP","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1277
How can I display the percent value in the lower side of the bar

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Height", 7);
		_ObjectSetProperty( bar , "Color", 16711680);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress") , "Shortcut", "Percent");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Percent","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,43) = 2");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Percent","1/3/2001","1/9/2001","K2");
_ObjectCallMethod( g2antt , "EndUpdate");

1276
Is it possible to change the percent's height

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Height", 7);
	_ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task%Progress","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1275
How can I change the pattern for the percent bar

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Pattern", 6);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Color", 196);
	_ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task%Progress","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1274
How can I change the look for the percent bar using EBN

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\hot.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Progress`)");
		_ObjectSetProperty( bar , "Color", 16777216);
		_ObjectSetProperty( bar , "Shape", 1);
		_ObjectSetProperty( bar , "Height", 7);
	_ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task%Progress","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.4");
_ObjectCallMethod( g2antt , "EndUpdate");

1273
Is it possible to align the percent bar to the bottom of the bar

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).Height = 28");
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task%Progress") , "Shortcut", "Percent");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Percent","1/2/2001","1/14/2001","K1","text inside");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,5) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.75");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,13) = `%p%`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,43) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1272
Is it possible to show the percent on the bottom side of the bar, so I can leave the text upside

OBJECT bar,bars,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 32);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bars = _ObjectGetProperty( chart , "Bars");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim barObj")
		_ObjectCallMethod(g2antt, "TemplatePut", bars)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Task`).Height = 28");
		bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "barObj.Item(`Progress`)");
			_ObjectSetProperty( bar , "Shape", 20);
			_ObjectSetProperty( bar , "Height", 20);
			_ObjectSetProperty( bar , "Color", 16711680);
		_ObjectSetProperty( _ObjectCallMethod( bars , "Add", "Task%Progress") , "Shortcut", "Percent");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Percent","1/2/2001","1/14/2001","K1","text inside");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,5) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,12) = 0.75");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,14) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,13) = `<br>%p%`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,15) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,16) = False");
_ObjectCallMethod( g2antt , "EndUpdate");

1271
Is it possible to assign a multiple lines labels/captions to a bar

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2001");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 32");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/6/2001","K1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`K1`,3) = `Line1<br>Line2`");

1270
Does your control supports multiple lines tooltip
OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod(g2antt, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectSetProperty( g2antt , "ToolTipDelay", 1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "tootip") , "ToolTip", "<font Tahoma;20>This</font> is a <b>multi-lines</b> tooltip assigned to a column. The tooltip supports built-in HTML tags, icon" +
	"s and pictures.<br><img>pic1</img> picture ...");

1269
It is possible to write the word in red/color or to add a tooltip or a link to the word

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/26/2000");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 32");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"","1/1/2001","1/5/2001","K1","some <fgcolor=FF0000>red</fgcolor> text");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,10) = False");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`K1`,6) = `And here goes the <b>tooltip</b> of the text. `");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","1/5/2001","1/7/2001","K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,`K2`,6) = `And here goes the <b>tooltip</b> of the bar. `");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"K1",h2,"K2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `L<b>inke</b>d to a bar`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,13) = `And here goes the <b>tooltip</b> of the link. `");

1268
It is possible to use seconds/minutes/hours as time scale in your control, but using my regional settings

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16) = `<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(256) = `<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>256`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(4096) = `<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%><||><||>4096`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(65536) = `<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%><||><||>65536`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = `<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = `<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(16) = `<%loc_mmmm%>/<%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(256) = `<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(4096) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(65536) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(1048576) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(16777216) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>`");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 4);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = 65536");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(2).Label = 1048576");
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(3)");
		_ObjectSetProperty( level , "Count", 15);
		_ObjectSetProperty( level , "Label", 16777216);
_ObjectCallMethod( g2antt , "EndUpdate");

1267
The chart's header is displayed in English. Can I change so it is the same as in my regional settings

OBJECT chart,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16) = `<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(256) = `<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>256`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(4096) = `<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%><||><||>4096`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(65536) = `<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%><||><||>65536`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(1048576) = `<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Label(16777216) = `<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(16) = `<%loc_mmmm%>/<%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(256) = `<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(4096) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(65536) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(1048576) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.LabelToolTip(16777216) = `<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>`");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "UnitScale", 4096);
_ObjectCallMethod( g2antt , "EndUpdate");

1266
It is possible to use seconds/minutes/hours as time scale in your control
OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectSetProperty( chart , "LevelCount", 4);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0).Label = 4096");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1).Label = 65536");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(2).Label = 1048576");
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(3)");
		_ObjectSetProperty( level , "Count", 15);
		_ObjectSetProperty( level , "Label", 16777216);
_ObjectCallMethod( g2antt , "EndUpdate");

1265
Is it possible to resize chart's column/level using the mouse as we can for the columns, but do not want to resize up to hours
OBJECT chart,g2antt,insidezoomformat,insidezooms,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 32");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( chart , "AllowResizeInsideZoom", -1);
	_ObjectSetProperty( chart , "InsideZoomOnDblClick", 0);
	insidezoomformat = _ObjectGetProperty( chart , "DefaultInsideZoomFormat");
		_ObjectSetProperty( insidezoomformat , "OwnerLabel", "<%d%>");
		_ObjectSetProperty( insidezoomformat , "InsideLabel", "");
		_ObjectSetProperty( insidezoomformat , "InsideUnit", 65536);
		_ObjectSetProperty( insidezoomformat , "InsideCount", 24);
		_ObjectSetProperty( insidezoomformat , "DrawTickLines", 0);
		_ObjectSetProperty( insidezoomformat , "DrawGridLines", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectSetProperty( insidezooms , "SplitBaseLevel", 0);
		_ObjectSetProperty( insidezooms , "DefaultWidth", 18);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task"),"Task","1/3/2008","1/8/2008");
_ObjectCallMethod( g2antt , "EndUpdate");

1264
Is it possible to resize chart's column/level using the mouse as we can for the columns
OBJECT chart,g2antt,insidezoomformat,insidezooms,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 32");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2008");
	_ObjectSetProperty( chart , "AllowInsideZoom", -1);
	_ObjectSetProperty( chart , "AllowResizeInsideZoom", -1);
	_ObjectSetProperty( chart , "InsideZoomOnDblClick", 0);
	insidezoomformat = _ObjectGetProperty( chart , "DefaultInsideZoomFormat");
		_ObjectSetProperty( insidezoomformat , "OwnerLabel", "<%d%>");
		_ObjectSetProperty( insidezoomformat , "InsideLabel", "");
		_ObjectSetProperty( insidezoomformat , "DrawTickLines", 0);
		_ObjectSetProperty( insidezoomformat , "DrawGridLines", 0);
	insidezooms = _ObjectGetProperty( chart , "InsideZooms");
		_ObjectSetProperty( insidezooms , "SplitBaseLevel", 0);
		_ObjectSetProperty( insidezooms , "DefaultWidth", 18);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task"),"Task","1/3/2008","1/8/2008");
_ObjectCallMethod( g2antt , "EndUpdate");

1263
How can I empty or clear the undo/redo queue
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowUndoRedo", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "AllowLinkBars", -1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","6/21/2005","6/25/2005","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","6/28/2005","7/2/2005","");
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", ".Chart.UndoListAction()") );
	Message( "Clear undo/redo queue" );
	_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "AllowUndoRedo", 0);
	_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "AllowUndoRedo", -1);
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", ".Chart.UndoListAction()") );
_ObjectCallMethod( g2antt , "EndUpdate");

1262
How can I remove the undo/redo queue
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowUndoRedo", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "AllowLinkBars", -1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","6/21/2005","6/25/2005","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","6/28/2005","7/2/2005","");
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", ".Chart.UndoListAction()") );
	Message( "Clear undo/redo queue" );
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "UndoRemoveAction", );
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "RedoRemoveAction", );
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", ".Chart.UndoListAction()") );
_ObjectCallMethod( g2antt , "EndUpdate");

1261
Is it possible to prevent adding an undo operation for instance the RemoveLink(LinkKey) I call during the AddLink event
// AddLink event - Occurs when the user links two bars using the mouse.
FUNCTION g2anttEvents_AddLink(OBJECT g2antt, STRING LinkKey)
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Items") , "RemoveLink", LinkKey);
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "UndoRemoveAction", 10,1);
	_ObjectCallMethod( _ObjectGetProperty( g2antt , "Chart") , "UndoRemoveAction", 11,1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.UndoListAction()") );
END

// ChartEndChanging event - Occurs after the chart has been changed.
FUNCTION g2anttEvents_ChartEndChanging(OBJECT g2antt, INT Operation)
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.UndoListAction()") );
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowUndoRedo", -1);
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "AllowLinkBars", -1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","6/21/2005","6/25/2005","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","6/28/2005","7/2/2005","");
_ObjectCallMethod( g2antt , "EndUpdate");

1260
Is it possible to rename the links from "Link1" to my choice
// AddLink event - Occurs when the user links two bars using the mouse.
FUNCTION g2anttEvents_AddLink(OBJECT g2antt, STRING LinkKey)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim LinkKey")
	_ObjectCallMethod(g2antt, "TemplatePut", LinkKey)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "Items.Link(LinkKey,259) = `newIDlink`");
END

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	Message( _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.LinkFromPoint(-1,-1)") );
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "6/20/2005");
	_ObjectSetProperty( chart , "AllowLinkBars", -1);
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 1"),"Task","6/21/2005","6/25/2005","");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Task 2"),"Task","6/28/2005","7/2/2005","");
_ObjectCallMethod( g2antt , "EndUpdate");

1259
How can I prevent highlighting the column from the cursor - point

OBJECT g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BI0IQAAYAQGKIYBkAKBQAGaAoDDUOQzQwAAxDKKUEwsACEIrjKCYVgOHYYRrIMYgBCMJhLEoaZLhEZRQiqDYtRDFQBSDDcPw/EaRZohGaYJ" +
	"gEgI=");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Background(32) = 16777216");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "S") , "Width", 32);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Level 1") , "LevelKey", 1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Level 2") , "LevelKey", 1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Level 3") , "LevelKey", 1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "E1") , "Width", 32);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "E2") , "Width", 32);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "E3") , "Width", 32);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "E4") , "Width", 32);

1258
Is it possible to specify the background color for the item in the chart part only
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	hC = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hC")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hC)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(hC) = 255");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1257
Is it possible to apply different visual appearance, color, sizes for item in the list and chart part

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 2,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 3,"CP:2 2 2 -2 -2");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
_ObjectSetProperty( g2antt , "SelBackMode", 1);
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	hC = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hC")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hC)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(hC) = 33554176");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(hC) = 50396928");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1256
How do I change the visual appearance for the entire item, using your EBN technology

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	hC = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hC")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hC)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(hC) = 16777216");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(hC) = 16777216");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1255
is it possible to specify the a different background color for the item, list and chart part

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	hC = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hC")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hC)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(hC) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(hC) = 65535");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1254
Is it possible to specify the background color for the entire row, including the chart part

OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Default");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	hC = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,hC")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", hC)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBackColor(hC) = 255");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Me.Chart.ItemBackColor(hC) = 255");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1253
Is it possible to prevent overlaying the bars while moving or resizing the bars, so they get arranged once the bar is moved or resized
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "OverlaidOnMoving", 0);
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`).OverlaidType = 515");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A3");
_ObjectCallMethod( g2antt , "EndUpdate");

1252
Is it possible display numbers in the same format no matter of regional settings in the control panel
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default positive)'`");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '2|.|3|,|1|1')`");
	h = _ObjectCallMethod( items , "AddItem", -100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default negative)'`");
	h = _ObjectCallMethod( items , "AddItem", -100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '2|.|3|,|1|1')`");
_ObjectCallMethod( g2antt , "EndUpdate");

1251
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 0.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", 0.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1250
How can I specify the format for negative numbers
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", -100000.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", -100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1249
Is it possible to change the grouping character when display numbers
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1248
How can I display numbers with 2 digits in each group
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", 100000.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1247
How can I display my numbers using a different decimal separator
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1246
Is it possible to display the numbers using 3 (three) digits
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Add(`Def`).Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '') +  ' <fgcolor=808080>(default)'`");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format '3') +  ' <fgcolor=808080>(3 digits)'`");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format 2) +  '  <fgcolor=808080>(2 digits)'`");
	h = _ObjectCallMethod( items , "AddItem", 100.27);
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `(value format 1) +  ' <fgcolor=808080>(1 digit)'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1245
Is it possible to format numbers

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "SelBackColor", _ObjectGetProperty( g2antt , "BackColor"));
_ObjectSetProperty( g2antt , "SelForeColor", _ObjectGetProperty( g2antt , "ForeColor"));
_ObjectSetProperty( g2antt , "ShowFocusRect", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Name");
	column = _ObjectCallMethod( columns , "Add", "A");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "FormatColumn", "len(value) ? value + ' +'");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 4);
	column = _ObjectCallMethod( columns , "Add", "B");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "FormatColumn", "len(value) ? value + ' +'");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 4);
	column = _ObjectCallMethod( columns , "Add", "C");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "FormatColumn", "len(value) ? value + ' ='");
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 4);
	column = _ObjectCallMethod( columns , "Add", "A+B+C");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "Width", 64);
		_ObjectSetProperty( column , "ComputedField", "dbl(%1)+dbl(%2)+dbl(%3)");
		_ObjectSetProperty( column , "FormatColumn", "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00" +
	"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,4) = 2");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 7");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = 1");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = -2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = -2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = -4");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = -4");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1244
How can I show the tooltip programmatically ( I want to be able to set the tooltip content dynamically just before the tooltip start to appear, not using the exBarTooltip )
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION g2anttEvents_MouseMove(OBJECT g2antt, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(g2antt, "TemplatePut", _ObjectGetProperty( g2antt , "Chart"))
	_ObjectCallMethod( g2antt , "ShowToolTip", _ObjectCallMethod(g2antt, "ExecuteTemplate", "_ObObj.BarFromPoint(-1,-1)"),"",2,"4","-4");
END

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
ObjectAssociateEvents("g2anttEvents", g2antt);
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2010","1/5/2010","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2010","1/8/2010","B","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2010","1/11/2010","C","C");
	_ObjectCallMethod( items , "GroupBars", h,"A",0,h,"B",-1,39);
	_ObjectCallMethod( items , "GroupBars", h,"B",0,h,"C",-1,39);
_ObjectCallMethod( g2antt , "EndUpdate");

1243
How can I set the column's width to my desired width
OBJECT columns,g2antt;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "A") , "Width", 128);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "B") , "Width", 128);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);

1242
Is it possible to prevent intersection of three bars or more

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2010","1/5/2010","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2010","1/8/2010","B","B");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2010","1/11/2010","C","C");
	_ObjectCallMethod( items , "GroupBars", h,"A",0,h,"B",-1,39);
	_ObjectCallMethod( items , "GroupBars", h,"B",0,h,"C",-1,39);
_ObjectCallMethod( g2antt , "EndUpdate");

1241
Is it possible to prevent intersection of two bars

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Def");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "AllowCreateBar", 0);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 64");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2010");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2010","1/5/2010","A","A");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/5/2010","1/8/2010","B","B");
	_ObjectCallMethod( items , "GroupBars", h,"A",0,h,"B",-1,39);
_ObjectCallMethod( g2antt , "EndUpdate");

1240
Is it possible to specify the cell's value but still want to display some formatted text instead the value
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Value");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "FormatCell");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", 1);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = 12");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,1) = `currency(value)`");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = #1/1/2001#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,1) = `longdate(value) replace '2001' with '<b>2001</b>'`");
_ObjectCallMethod( g2antt , "EndUpdate");

1239
How can I simulate displaying groups

OBJECT columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectSetProperty( g2antt , "HasLines", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Name");
	_ObjectCallMethod( columns , "Add", "A");
	_ObjectCallMethod( columns , "Add", "B");
	_ObjectCallMethod( columns , "Add", "C");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Group 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 24");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = 3");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = 6");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Group 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 3");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h) = 24");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = 3");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 4");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,3) = 6");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");

1238
Is it possible to specify the cell's value but still want to display some formatted text instead the value

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Name");
	column = _ObjectCallMethod( columns , "Add", "Values");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 64);
		_ObjectSetProperty( column , "FormatColumn", "((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,1) = `'<none>'`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 1`),1) = 10");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 2`),1) = 15");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 3`),1) = 25");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1237
I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "Name");
	column = _ObjectCallMethod( columns , "Add", "Values");
		_ObjectSetProperty( column , "SortType", 1);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 64);
		_ObjectSetProperty( column , "FormatColumn", "((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FormatCell(h,1) = ` `");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 1`),1) = 10");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 2`),1) = 15");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(InsertItem(h,,`Child 3`),1) = 25");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1236
I have a right-aligned column with check-boxes with no text, but it is not perfectly aligned. Is there something I can do
OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "TreeColumnIndex", -1);
_ObjectSetProperty( g2antt , "DrawGridLines", -1);
_ObjectSetProperty( g2antt , "ShowFocusRect", 0);
columns = _ObjectGetProperty( g2antt , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Default-Right");
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Alignment", 2);
		_ObjectSetProperty( column , "HeaderAlignment", 2);
	column = _ObjectCallMethod( columns , "Add", "Custom-Right");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(34) = `icon,icons,picture,caption,check`");
		_ObjectSetProperty( column , "HeaderAlignment", 2);
		_ObjectSetProperty( column , "Alignment", 2);
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod( g2antt , "EndUpdate");

1235
How can I specify that once I move or resize a bar other should be automatically moved/resized
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Start") , "Visible", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "End") , "Visible", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = #9/24/2006#");
	_ObjectCallMethod( items , "AddBar", h1,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2)"),"");
	h2 = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2) = #9/24/2006#");
	_ObjectCallMethod( items , "AddBar", h2,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2)"),"");
	_ObjectCallMethod( items , "GroupBars", h1,"",-1,h2,"",-1);
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",0);
_ObjectCallMethod( g2antt , "EndUpdate");

1234
How can I specify that once I move a bar other should be automatically moved
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Start") , "Visible", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "End") , "Visible", 0);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 64");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2) = #9/24/2006#");
	_ObjectCallMethod( items , "AddBar", h1,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h1,2)"),"");
	h2 = _ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1) = #9/21/2006#");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2) = #9/24/2006#");
	_ObjectCallMethod( items , "AddBar", h2,"Task",_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,1)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h2,2)"),"");
	_ObjectCallMethod( items , "GroupBars", h1,"",-1,h2,"",-1,3);
_ObjectCallMethod( g2antt , "EndUpdate");

1233
Is it possible to include the bar's caption in overlaying

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 4611);
		_ObjectSetProperty( bar , "OverlaidGroup", "Milestone");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A1","task");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A1`,4) = 18");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/3/2001","1/3/2001","M","milestone");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`M`,4) = 18");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/8/2001","1/12/2001","A1","task");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`A1`,4) = 18");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/8/2001","1/8/2001","M","milestone");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,`M`,4) = 18");
_ObjectCallMethod( g2antt , "EndUpdate");

1232
Sometimes, the milestone bars are not overlaying the task bars. What I am doing wrong
OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 4611);
		_ObjectSetProperty( bar , "OverlaidGroup", "Milestone");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/3/2001","1/3/2001","M");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/8/2001","1/8/2001","M");
_ObjectCallMethod( g2antt , "EndUpdate");

1231
Is it possible to add milestone bars in the same overlaid group as task is

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Task");
_ObjectSetProperty( g2antt , "DrawGridLines", 1);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "DrawGridLines", 1);
	_ObjectSetProperty( chart , "AllowCreateBar", 1);
	_ObjectSetProperty( chart , "AllowLinkBars", 0);
	_ObjectSetProperty( chart , "ResizeUnitScale", 65536);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 48");
	_ObjectSetProperty( chart , "FirstVisibleDate", "1/1/2001");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "OverlaidType", 515);
		_ObjectSetProperty( bar , "OverlaidGroup", "Milestone");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/2/2001","1/4/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/3/2001","1/3/2001","M");
	h = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/7/2001","1/10/2001","A1");
	_ObjectCallMethod( items , "AddBar", h,"Milestone","1/8/2001","1/8/2001","M");
_ObjectCallMethod( g2antt , "EndUpdate");

1230
When adding a date column and setting the SortType to SortTypeEnum.SortDateTime, the column still sorts as a string. What am I doing wrong
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Date") , "SortType", 3);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "String");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1/1/2001");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellValue(h,0)");
	h = _ObjectCallMethod( items , "AddItem", "1/11/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellValue(h,0)");
	h = _ObjectCallMethod( items , "AddItem", "1/2/2001");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellValue(h,0)");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Columns.Item(0).SortOrder = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1229
Is it possible to move an item from a parent to another
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddItem", "B");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "AddItem", "C"),"","D");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod( items , "SetParent", _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(`D`,0)"),_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(`A`,0)"));
_ObjectCallMethod( g2antt , "EndUpdate");

1228
How can I change the identation for an item
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddItem", "A");
	_ObjectCallMethod( items , "AddItem", "B");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "AddItem", "C"),"","D");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod( items , "SetParent", _ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.FindItem(`D`,0)"),0);
_ObjectCallMethod( g2antt , "EndUpdate");

1227
Moving the bars fail if I am using GroupBars, exBarCanResize on 0 and exBarKeepWorkingCount on True ( bars keeps the working units and at runtime user can not resize them ). Is it possible to use the GroupBars while user should not be able to resize the bars at runtime

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,``,20) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,``,10) = 4");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h2")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h2)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,``,20) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h2,``,10) = 4");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorking`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,95,"2");
_ObjectCallMethod( g2antt , "EndUpdate");

1226
How can I collapse all items
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = False");
_ObjectCallMethod( g2antt , "EndUpdate");

1225
How can I expand all items
OBJECT g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Items");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1224
How can I specify the distance between bars to be in a specified range of working units

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,95,"0;1;5");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1223
How can I specify the distance between bars to be in a specified range

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,31,"0;1;7");
_ObjectCallMethod( g2antt , "EndUpdate");

1222
How can I specify the distance between bars to be no more than a specified value in working units

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,95,"0;0;2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1221
How can I specify the distance between bars to be no more than a specified value

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,31,"0;0;2");
_ObjectCallMethod( g2antt , "EndUpdate");

1220
How can I specify the distance between bars to be no less than a specified value in working units

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitIntervalMin + exLimitIntervalTreatAsWorking`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,79,"2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1219
How can I specify the distance between bars to be no less than a specified value

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval + exLimitIntervalMin`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,15,"2");
_ObjectCallMethod( g2antt , "EndUpdate");

1218
How do I specify the distance between bars to be exactly the specified value in working units

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( chart , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Task","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorking`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,95,"2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(0,`<*>`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1217
How do I specify the distance between bars to be exactly the specified value

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","","A");
	_ObjectCallMethod( items , "AddItem", "");
	h2 = _ObjectCallMethod( items , "AddItem", "Task 2");
	_ObjectCallMethod( items , "AddBar", h2,"Unknown","9/26/2006","9/29/2006","","B");
	_ObjectCallMethod( items , "AddLink", "L1",h1,"",h2,"");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,6) = 2");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,7) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.Link(`L1`,12) = `exPreserveBarLength + exIgnoreOriginalInterval`");
	_ObjectCallMethod( items , "GroupBars", h1,"",0,h2,"",-1,7,"2");
_ObjectCallMethod( g2antt , "EndUpdate");

1216
How do I specify the day's duration to be working only
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1215
How do I specify the the user can't resize the bar at left side ( starting point )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( _ObjectGetProperty( g2antt , "Chart") , "Bars") , "Add", "Task:Split") , "Shortcut", "Task");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","not resizable on left");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,20) = True");
_ObjectCallMethod( g2antt , "EndUpdate");

1214
How do I specify the the user can't resize the bar at left side ( starting point )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","not resizable on left");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,10) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1213
How do I specify the the user can't resize the bar at right side ( ending point )
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","not resizable on right");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,10) = 1");
_ObjectCallMethod( g2antt , "EndUpdate");

1212
How do I specify the the user can't resize the bar at runtime
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","not resizable");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,10) = False");
_ObjectCallMethod( g2antt , "EndUpdate");

1211
How do I specify the day's duration to be at least a specified length
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","> 2 Days");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,36) = 2");
_ObjectCallMethod( g2antt , "EndUpdate");

1210
How do I specify the day's duration to be maximum a specified length
OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Tasks");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "9/20/2006");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(0) = 48");
	_ObjectSetProperty( chart , "LevelCount", 2);
items = _ObjectGetProperty( g2antt , "Items");
	h1 = _ObjectCallMethod( items , "AddItem", "Task 1");
	_ObjectCallMethod( items , "AddBar", h1,"Task","9/26/2006","9/29/2006","A","< 3 Days");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h1)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h1,`A`,37) = 3");
_ObjectCallMethod( g2antt , "EndUpdate");

1209
I am trying to construct a timeline that is not date specific. My timeline starts at T=00:00:00 and then increases by 5 seconds. Is it possible

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstVisibleDate", 0);
	_ObjectSetProperty( chart , "UnitWidth", 48);
	_ObjectSetProperty( chart , "NonworkingDays", 0);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<%hh%>:<%nn%>:<%ss%>");
		_ObjectSetProperty( level , "Unit", 16777216);
		_ObjectSetProperty( level , "Count", 5);

1208
How can I specify the levels using the user's Regional and Language Options

OBJECT chart,g2antt,level;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Font") , "Name", "Arial Unicode MS");
_ObjectSetProperty( g2antt , "HeaderHeight", 36);
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "5/30/2010");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 0");
	_ObjectSetProperty( chart , "FirstWeekDay", 1);
	_ObjectSetProperty( chart , "UnitWidth", 36);
	_ObjectSetProperty( chart , "LevelCount", 2);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(0)");
		_ObjectSetProperty( level , "Label", "<b><%loc_mmmm%></b> <%yyyy%><br><%loc_sdate%><r> <%ww%> ");
		_ObjectSetProperty( level , "ToolTip", _ObjectGetProperty( level , "Label"));
		_ObjectSetProperty( level , "Unit", 256);
	level = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Level(1)");
		_ObjectSetProperty( level , "Label", "<%loc_ddd%><br><%d%>");
		_ObjectSetProperty( level , "ToolTip", _ObjectGetProperty( level , "Label"));
	_ObjectSetProperty( chart , "ToolTip", "<%loc_ldate%>");
_ObjectCallMethod( g2antt , "EndUpdate");

1207
How do I arrange, format or layout the item on multiple levels or lines, as a subform

OBJECT columns,editor,g2antt,items,var_column,var_column1,var_column2,var_column3,var_column4,var_column5,var_column6,var_editor;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.PaneWidth(True) = 0");
_ObjectCallMethod( g2antt , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectSetProperty( g2antt , "DrawGridLines", -2);
_ObjectSetProperty( g2antt , "HeaderVisible", 0);
_ObjectSetProperty( g2antt , "ItemsAllowSizing", -1);
_ObjectSetProperty( g2antt , "MarkSearchColumn", 0);
_ObjectSetProperty( g2antt , "ScrollBySingleLine", -1);
_ObjectSetProperty( g2antt , "BackColor", 16777215);
_ObjectSetProperty( g2antt , "SelBackColor", 16777215);
_ObjectSetProperty( g2antt , "SelForeColor", 2147483666);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectCallMethod( columns , "Add", "");
	var_Column = _ObjectCallMethod( columns , "Add", "Column");
	var_column = var_Column;
		_ObjectSetProperty( var_column , "Visible", 0);
		_ObjectSetProperty( _ObjectGetProperty( var_column , "Editor") , "EditType", 1);
	var_Column1 = _ObjectCallMethod( columns , "Add", "Column");
	var_column1 = var_Column1;
		_ObjectSetProperty( var_column1 , "Visible", 0);
		_ObjectSetProperty( _ObjectGetProperty( var_column1 , "Editor") , "EditType", 2);
	var_Column2 = _ObjectCallMethod( columns , "Add", "Column");
	var_column2 = var_Column2;
		_ObjectSetProperty( var_column2 , "Visible", 0);
		_ObjectSetProperty( _ObjectGetProperty( var_column2 , "Editor") , "EditType", 2);
	var_Column3 = _ObjectCallMethod( columns , "Add", "Column");
	var_column3 = var_Column3;
		_ObjectSetProperty( var_column3 , "Visible", 0);
		editor = _ObjectGetProperty( var_column3 , "Editor");
			_ObjectSetProperty( editor , "EditType", 19);
			_ObjectCallMethod(g2antt, "TemplatePut", "Dim ediObj")
			_ObjectCallMethod(g2antt, "TemplatePut", editor)
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "ediObj.Option(17) = 1");
	var_Column4 = _ObjectCallMethod( columns , "Add", "Column");
	var_column4 = var_Column4;
		_ObjectSetProperty( var_column4 , "Visible", 0);
		_ObjectSetProperty( _ObjectGetProperty( var_column4 , "Editor") , "EditType", 7);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column") , "Visible", 0);
	var_Column5 = _ObjectCallMethod( columns , "Add", "Column");
	var_column5 = var_Column5;
		_ObjectSetProperty( var_column5 , "Visible", 0);
		_ObjectSetProperty( _ObjectGetProperty( var_column5 , "Editor") , "EditType", 2);
	var_Column6 = _ObjectCallMethod( columns , "Add", "Column");
	var_column6 = var_Column6;
		_ObjectSetProperty( var_column6 , "Visible", 0);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim varObj")
		_ObjectCallMethod(g2antt, "TemplatePut", var_column6)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Def(16) = 0");
		var_Editor = _ObjectGetProperty( var_column6 , "Editor");
		var_editor = var_Editor;
			_ObjectSetProperty( var_editor , "EditType", 5);
			_ObjectSetProperty( var_editor , "ButtonWidth", 17);
			_ObjectCallMethod(g2antt, "TemplatePut", "Dim varObj")
			_ObjectCallMethod(g2antt, "TemplatePut", var_editor)
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(23) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(25) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(24) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(20) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(3) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(2) = -1");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(27) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(26) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(21) = 0");
			_ObjectCallMethod(g2antt, "ExecuteTemplate", "varObj.Option(22) = 0");
		_ObjectSetProperty( var_column6 , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column") , "Visible", 0);
items = _ObjectGetProperty( g2antt , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h0)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,9) = `Dismiss`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellFormatLevel(h0,0) = `12;^" ^"[b=0][bg=RGB(248,248,248)]/(^" ^"[b=0][bg=RGB(248,248,248)]:12,(1;^" ^"[b=0]/(^" ^"[b=0]:1,(25;(5;^" ^"[b=0]/((^"Subject:^"[b=0]:80,(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,(^" ^"[b=0][bg=RGB(255,0,0)]:5,1[b=0]),^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]))/1;^" ^"[b=0]))/20;(^"Location:^"[b=0]:80,(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,2[b=0],^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]),((^" ^"[b=0]:10,^"Label:^"[b=0])):50,(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,3[b=0],^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]))/50;(10;^" ^"[b=0]/(1;^" ^"[b=0][bg=RGB(255,0,0)]/(^"Recurrence:^"[b=0]:80,^"Occurs every day effective 20/04/2007 from 01:00 to 01:01.^"[b=0])/1;^" ^"[b=0][bg=RGB(255,0,0)])/10;^" ^"[b=0])/23;(4[b=0]:20,^"Reminder:^"[b=0]:60,(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,5[b=0],^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]),((^" ^"[b=0]:5,6[b=0])):30,((^" ^"[b=0]:10,^"Show time as:^"[b=0])):90,(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,7[b=0],^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]))/(12;^" ^"[b=0]/(1;^" ^"[b=0][bg=RGB(0,0,0)]/(^" ^"[b=0][bg=RGB(0,0,0)]:1,8[b=0],^" ^"[b=0][bg=RGB(0,0,0)]:1)/1;^" ^"[b=0][bg=RGB(0,0,0)]))/35;(5;^" ^"[b=0]/(^" ^"[b=0],^" ^"[b=0],((^" ^"[b=0]:40,9[b=0])))/5;^" ^"[b=0])),^" ^"[b=0]:1)/1;^" ^"[b=0]),^" ^"[b=0][bg=RGB(248,248,248)]:12)/12;^" ^"[b=0][bg=RGB(248,248,248)]`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasCheckBox(h0,4) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h0,9) = -1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h0,9) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellVAlignment(h0,8) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellForeColor(h0,8) = 0");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHasButton(h0,6) = True");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h0,6) = `<img>1</img>`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValueFormat(h0,6) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellHAlignment(h0,6) = 1");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemHeight(h0) = 296");
_ObjectCallMethod( g2antt , "EndUpdate");

1206
How can I arrange the columns on multiple levels

OBJECT column,columns,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
_ObjectSetProperty( g2antt , "DefaultItemHeight", 48);
columns = _ObjectGetProperty( g2antt , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Title") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "FirstName") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "LastName") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Photo") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "Address");
		_ObjectSetProperty( column , "Visible", 0);
		_ObjectCallMethod(g2antt, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(g2antt, "TemplatePut", column)
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(16) = False");
	column = _ObjectCallMethod( columns , "Add", "Personal Info");
		_ObjectSetProperty( column , "FormatLevel", "3:48,(0/1/2),4:96");
		_ObjectCallMethod(g2antt, "ExecuteTemplate", "colObj.Def(32) = `3:48,(0/1/2),4:96`");
_ObjectSetProperty( _ObjectGetProperty( g2antt , "Chart") , "FirstVisibleDate", "1/1/2010");
_ObjectCallMethod(g2antt, "ExecuteTemplate", "Chart.Bars.Item(`Task`).OverlaidType = 515");
items = _ObjectGetProperty( g2antt , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Sales Representative");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Nancy`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Davolio`");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellPicture(h,3) = Me.ExecuteTemplate(`loadpicture(`c:\exontrol\images\zipdisk.gif`)`)");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.CellValue(h,4) = `507-20th Ave. E.Apt.  2A`");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/1/2010","1/5/2010",2,2);
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/8/2010",1,1);
_ObjectCallMethod( g2antt , "EndUpdate");

1205
Is it possible to display a bar only using a gradient color using the exBarColor option

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "StartColor", 16777215);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectSetProperty( bar , "Height", 17);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
	h = _ObjectCallMethod( items , "AddItem", "W/h Gradient");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 227");
	h = _ObjectCallMethod( items , "AddItem", "W/h Color");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 227");
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,33) = 255");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
_ObjectCallMethod( g2antt , "EndUpdate");

1204
Is it possible to display a bar only using a gradient color

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "StartColor", 16777215);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "StartColor"));
		_ObjectSetProperty( bar , "Height", 17);
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
	h = _ObjectCallMethod( items , "AddItem", "W/h Gradient");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 227");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
_ObjectCallMethod( g2antt , "EndUpdate");

1203
Is it possible to display a bar only using a gradient color

OBJECT bar,chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
	bar = _ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.Bars.Item(`Task`)");
		_ObjectSetProperty( bar , "StartColor", 16777215);
		_ObjectSetProperty( bar , "EndColor", _ObjectGetProperty( bar , "Color"));
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
	h = _ObjectCallMethod( items , "AddItem", "W/h Gradient");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 99");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
_ObjectCallMethod( g2antt , "EndUpdate");

1202
How can I display a specified bar only with a thicker border

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
	h = _ObjectCallMethod( items , "AddItem", "W/h Border");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 4099");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
_ObjectCallMethod( g2antt , "EndUpdate");

1201
Is it possible to display the shadow for a specified bar

OBJECT chart,g2antt,items;

g2antt =  ObjectByName("AN1") ;
_ObjectCallMethod( g2antt , "BeginUpdate");
chart = _ObjectGetProperty( g2antt , "Chart");
	_ObjectSetProperty( chart , "FirstVisibleDate", "12/31/2009");
	_ObjectSetProperty( chart , "LevelCount", 2);
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim chaObj")
	_ObjectCallMethod(g2antt, "TemplatePut", chart)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "chaObj.PaneWidth(False) = 96");
_ObjectCallMethod( _ObjectGetProperty( g2antt , "Columns") , "Add", "Types");
items = _ObjectGetProperty( g2antt , "Items");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
	h = _ObjectCallMethod( items , "AddItem", "W/h Shadow");
	_ObjectCallMethod( items , "AddBar", h,"Task","1/4/2010","1/9/2010","");
	_ObjectCallMethod(g2antt, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(g2antt, "TemplatePut", items)
	_ObjectCallMethod(g2antt, "TemplatePut", h)
	_ObjectCallMethod(g2antt, "ExecuteTemplate", "iteObj.ItemBar(h,``,42) = 8195");
	_ObjectCallMethod( items , "AddBar", _ObjectCallMethod( items , "AddItem", "Original"),"Task","1/4/2010","1/9/2010","");
_ObjectCallMethod( g2antt , "EndUpdate");